<?php


namespace App\Lib\Utils;

/**
 * 反射创建类
 */
class ClassUtils
{

    /**
     * 上传类
     * @return array
     */
    public function uploadClassArray(){
        return [

        ];
    }

    /**
     * @param $type
     * @param $classArray
     * @param array $params 参数
     * @param bool $needInstance 是否进行实例化
     * @return bool|mixed|object
     * @throws \ReflectionException
     */
    public function initClass($type, $classArray, $params = [], $needInstance = true){
        if (!array_key_exists($type, $classArray)){
            return false;
        }
        $className = $classArray[$type];

        return $needInstance ? (new \ReflectionClass($className))->newInstanceArgs($params) : $className;
    }

}